/*
 * templateobject.cpp
 *
 *  Created on: Oct 28, 2009
 *      Author: price
 */

#include "includes/templateobject.h"

namespace templatipus {

TemplateObject::TemplateObject() {

}

TemplateObject::~TemplateObject() {

}

TemplateObject::TemplateObject(const TemplateObject &other) {

}

TemplateObject::TemplateObject(const int8 &rhs) {

}

TemplateObject::TemplateObject(const tbool &rhs){

}

TemplateObject::TemplateObject(const int16 &rhs) {

}

TemplateObject::TemplateObject(const int32 &rhs) {

}

TemplateObject::TemplateObject(const int64 &rhs) {

}

TemplateObject::TemplateObject(const float32 &rhs) {

}

TemplateObject::TemplateObject(const float64 &rhs) {

}

TemplateObject::TemplateObject(const std::wstring& rhs) {

}

TemplateObject::TemplateObject(const std::string& rhs) {

}

TemplateObject::TemplateObject(const utf8Ptr rhs) {

}

TemplateObject::TemplateObject(const unicodePtr rhs) {

}

TObjectType TemplateObject::getType() const {
	return NO_TYPE;
}

const TemplateObject& TemplateObject::operator ++() {
	return *this;
}

const TemplateObject& TemplateObject::operator --() {
	return *this;
}

const TemplateObject& TemplateObject::operator +=(const TemplateObject &other) {
	return *this;
}

const TemplateObject& TemplateObject::operator -=(const TemplateObject &other) {
	return *this;
}

const TemplateObject& TemplateObject::operator *=(const TemplateObject &other) {
	return *this;
}

const TemplateObject& TemplateObject::operator /=(const TemplateObject &other) {
	return *this;
}

const TemplateObject& TemplateObject::operator %=(const TemplateObject &other) {
	return *this;
}

const TemplateObject& TemplateObject::operator &=(const TemplateObject &other) {
	return *this;
}

const TemplateObject& TemplateObject::operator |=(const TemplateObject &other) {
	return *this;
}

TemplateObject& TemplateObject::operator=(const TemplateObject &other) {
	return *this;
}

TemplateObject& TemplateObject::operator=(const int8 &other) {
	return *this;
}

TemplateObject& TemplateObject::operator=(const int16 &other) {
	return *this;
}

TemplateObject& TemplateObject::operator=(const int32 &other) {
	return *this;
}

TemplateObject& TemplateObject::operator=(const int64 &other) {
	return *this;
}

TemplateObject& TemplateObject::operator=(const float32 &other) {
	return *this;
}

TemplateObject& TemplateObject::operator=(const float64 &other) {
	return *this;
}

TemplateObject& TemplateObject::operator=(const std::wstring &other) {
	return *this;
}

TemplateObject& TemplateObject::operator=(const std::string &other) {
	return *this;
}

TemplateObject& TemplateObject::operator=(const unicodePtr other) {
	return *this;
}

TemplateObject& TemplateObject::operator=(const utf8Ptr other) {
	return *this;
}

bool TemplateObject::operator ==(const TemplateObject &other) const {
	return false;
}

bool TemplateObject::operator !=(const TemplateObject &other) const {
	return false;
}

bool TemplateObject::operator >(const TemplateObject &other) const {
	return false;
}

bool TemplateObject::operator <(const TemplateObject &other) const {
	return false;
}

bool TemplateObject::operator >=(const TemplateObject &other) const {
	return false;
}

bool TemplateObject::operator <=(const TemplateObject &other) const {
	return false;
}

bool TemplateObject::operator &&(const TemplateObject &other) const {
	return false;
}

bool TemplateObject::operator ||(const TemplateObject &other) const {
	return false;
}

//String stuff

TemplateObject::operator std::string() const {
	return std::string("NO TYPE");
}
TemplateObject::operator std::wstring() const {
	return std::wstring(L"NO TYPE");
}

//Conversion operators
//Number
TemplateObject::operator int8() const {
	return 0;
}
TemplateObject::operator uint8() const {
	return 0;
}
TemplateObject::operator int16() const {
	return 0;
}
TemplateObject::operator uint16() const {
	return 0;
}
TemplateObject::operator int32() const {
	return 0;
}
TemplateObject::operator uint32() const {
	return 0;
}
TemplateObject::operator int64() const {
	return 0;
}
TemplateObject::operator uint64() const {
	return 0;
}
TemplateObject::operator float32() const {
	return 0;
}
TemplateObject::operator float64() const {
	return 0;
}

TemplateObject::operator tbool() const {
	return false;
}

}
